You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Video HTML tag shows black screen in iOS safari #1408
Hmm.. this reminds me of a webkit bug we had a while ago where the browser wasn't handling cloned elements properly. I needed to open an issue with the browser for it. Without having an iOS device it might be harder to track down and I don't have access to any iOS devices.
Most likely culprit is Solid initializes elements via element.cloneNode. We probably want to compare direct creation document.createElement vs cloning that element to see if that is the culprit. Then we can at least follow up with the browser. To do so we should try to manually create the video element(document.createElement) and compare that to creating it and cloning it. Since it is a DOM element you should be able to insert it directly in the Solid JSX and have it work.
Hi, out of curiosity I tried the link https://solidjs-ios-video-bug.netlify.app/ on iPhone 12 with iOS 16.2 (latest OS version at time of writing) and I got a real video feed.
Yeah... this feels like that bug. @stereobooster can you confirm you still reproduce this on newer versions of iOS. This may just be an older bug they already fixed.
Not sure. The original issue for Mac OS they fixed in a patch version. So I'd expect if this is related it would be fixed in a later version of 14. But not sure if this is related or just the same symptoms.
Activity
atk commentedon Dec 9, 2022
Can you try some more idiomatic code?
https://github.com/solidjs/solid/issues/1408\#issuecomment-1344746129
stereobooster commentedon Dec 9, 2022
Same result. I've tried a lot of variations. Code was written this way to be as close as possible to baseline
ryansolid commentedon Dec 12, 2022
Hmm.. this reminds me of a webkit bug we had a while ago where the browser wasn't handling cloned elements properly. I needed to open an issue with the browser for it. Without having an iOS device it might be harder to track down and I don't have access to any iOS devices.
Most likely culprit is Solid initializes elements via element.cloneNode. We probably want to compare direct creation
document.createElementvs cloning that element to see if that is the culprit. Then we can at least follow up with the browser. To do so we should try to manually create the video element(document.createElement) and compare that to creating it and cloning it. Since it is a DOM element you should be able to insert it directly in the Solid JSX and have it work.This is eerily similar to that older issue be fair. This time on iOS instead of macOS: https://bugs.webkit.org/show_bug.cgi?id=222115
patdx commentedon Feb 7, 2023
Hi, out of curiosity I tried the link https://solidjs-ios-video-bug.netlify.app/ on iPhone 12 with iOS 16.2 (latest OS version at time of writing) and I got a real video feed.
ryansolid commentedon Mar 10, 2023
Yeah... this feels like that bug. @stereobooster can you confirm you still reproduce this on newer versions of iOS. This may just be an older bug they already fixed.
BelkinVadim commentedon Mar 28, 2023
it turns out for iOS 14 there is no solution to the problem?
ryansolid commentedon Mar 30, 2023
Not sure. The original issue for Mac OS they fixed in a patch version. So I'd expect if this is related it would be fixed in a later version of 14. But not sure if this is related or just the same symptoms.
ryansolid commentedon Jun 26, 2023
Closing as stale. Reopen if needed.
linkthai commentedon Nov 25, 2024
Can confirm this problem exists on even the latest version iOS 14. I bandaged it by creating
<video/>programmatically instead.